[新機能] Amazon EventBridgeにサンドボックス機能が追加されました
朝起きたらAmazon EventBridgeに新機能が来ていた
こんにちは、のんピ(@non____97)です。
珍しく早起きしてAWSマネージメントコンソールツアーをしていると、Amazon EventBridgeに新機能が来ているじゃありませんか。
その名も 「サンドボックス」 です。
見つけた時は思わず興奮してしまいました。
EventBridgeくんに新機能きた!!!
サンドボックス機能ありがてぇ〜 pic.twitter.com/F0wRCVgQPt— のんピ / non-97 (@non____97) March 3, 2022
名前から想像するに、作成したイベントパターンにイベントが一致するかどうか検証するような機能でしょうか。
2022/3/4 9:30時点でWhat’s Newにも上がっていなかったので、触りながらどんな機能なのかを確認していきます。
2022/3/12 追記 3/12にWhat’s Newに掲載されました。3/4 10:30ごろにマネージメントコンソールをリロードしたら消えたので、最初に発見した時はテスト中だったのかもしれません。
いきなりまとめ
- サンドボックスは、作成したイベントパターンにイベントが一致するかどうか検証する機能
- 作成したイベントパターンからEventBridgeルールを作成することも可能
- EventBridgeルールや、入力トランスフォーマー(Input Transformer)の画面も変更されていた
- EventBridgeルールのメトリクスをCloudWatchに遷移せずに確認できる
確認してみた
イベントパターン
マネージメントコンソールでサンドボックス
をクリックすると、以下のような画面が表示されました。
イベントパターン
とターゲット入力トランスフォーマー
と2つタブがありますが、まずはイベントパターン
の方から確認していきます。
イベントパターン
は、作成したイベントパターンにイベントが一致するかどうか検証する機能のようですね。試しに触ってみます。
イベントソース
は以下の3パターンあります。
- すべてのイベント
- AWSのサービス
- その他
イベントソース
の選択によって、イベントパターン
のエディタが変化します。
すべてのイベント
を選択した場合は、イベントパターンは固定です。編集することはできません。
{ "account": ["<自分のAWSアカウントID>"] }
AWSのサービス
を選択した場合は、イベントソースとするAWSのサービスやイベントタイプを選択・入力することで、イベントパターン
のエディタが変化します。
その他
を選択した場合は、JSONエディタが開き、自分で一からイベントパターンを編集することができます。
また、一致するパターンを選択
のプルダウンで選択した値をJSONエディタに挿入することができます。
用意されている全てのパターンを挿入すると以下のようになりました。イベントパターンを設計する際に、都度公式ドキュメントを見に行かなくても、コンソールで支援してくれるのは非常にありがたいですね。
{ "source": ["aws.states"], "detail-type": ["Step Functions Execution Status Change"], "detail": { "status": ["SUCCEEDED", "FAILED", "TIMED_OUT"], // プレフィックスマッチング "$STRING": [{ "prefix": "$VALUE" }], // 「以外」マッチング "$STRING": [{ "anything-but": ["$VALUE"] }], // 数値マッチング "$STRING": [{ "numeric": ["$OPERATION", "$VALUE"] }], // IPアドレスマッチング "$STRING": [{ "cidr": "$VALUE" }], // 存在マッチング "$STRING": [{ "exists": "$VALUE" }], //各パターンの複数のマッチング "$STRING": [{ "numeric": ["$VALUE"] }], "$STRING": [{ "anything-but": ["$VALUE"] }], "$STRING": [{ "cidr": "$VALUE" }] } }
なお、AWSのサービス
を選択した際にパターンを編集
をクリックすることでも、JSONエディタでイベントパターンを編集することができます。
設計したイベントパターンとサンプルイベントが一致するかどうか確認する際は、テストパターン
をクリックすることで行えます。
設計したイベントパターンとサンプルイベントが一致しない場合は、サンプルイベントがイベントパターンと一致しませんでした
と表示されます。
設計したイベントパターンとサンプルイベントが一致する場合は、イベントパターンに一致したサンプルイベント
と表示されます。
イベントソースによっては複数のサンプルがあるので非常に助かります。
サンプルイベントとして指定できるJSONはAWSが用意したものだけではなく、自分で入力することも可能です。
設計したイベントパターンからEventBridgeルールを作成することも簡単にできます。
画面下部にあるパターンを持つルールを作成
というボタンをクリックします。こちらをクリックすることでEventBridgeルール作成のウィザードに遷移します。
EventBridgeルール作成の動線があるのは非常に便利ですね。
ところで皆さんお気づきでしょうか。「EventBridgeルール作成の画面が新しくなっていることに」
どうやら機能追加のタイミングで新しくなったようです。
このまま新しいEventBridgeルール作成画面を紹介します。
「イベントパターンを構築」のステップに進むと、イベントパターンの設計を行うことができます。サンドボックスから遷移した場合は、サンドボックスで設計したイベントパターンがすでに入力されています。
ちなみに、前の画面でルールタイプスケジュール
を選択した場合は、「スケジュールを定義」というステップに遷移します。
見てください。この素晴らしいCron式の設定画面を。「Cronの書き方どうだっけな」と悩む必要はもうありません。
EventBridgeルールのCron式の詳細な仕様は以下AWS公式ドキュメントからご確認ください。
「ターゲットを選択」のステップに進むと、ターゲットの選択及び、再施行ポリシーやデッドレターキューなどの設定を行うことができます。
「タグを設定」のステップに進むと、EventBridgeルールのタグの設定を行うことができます。
「レビューと作成」のステップに進むと、今までのステップで設定したパラメーターを確認することができます。なんだかスッキリしてカッコいいですね。
ルールの作成
をクリックし、正常にEventBridgeルールの作成が完了すると、EventBridgeルール一覧に遷移します。
作成したEventBridgeルールをクリックすると、EventBridgeルールの詳細を確認できます。
ところで皆さんお気づきでしょうか(2回目)。「EventBridgeルールのメトリクスの確認ができることに」
わざわざCloudWatchメトリクスから確認しなくても良いんです!! これはアツい。「あのイベントでちゃんとトリガーしたかな」という時に非常に役立ちますね。(検証中は30分程度待っても表示されなかったです。新機能なのでご愛嬌。)
ターゲット入力トランスフォーマー
続いて、ターゲット入力トランスフォーマーのサンドボックスを紹介をします。
サンドボックスのターゲット入力トランスフォーマー
タブをクリックすると、入力トランスフォーマー(Input Transformer)の検証画面が表示されます。個人的には「入力パス、テンプレート、および出力の例」が非常にありがたいです。
こちらの例を参考にしながら、入力パス、テンプレートを設計することができます。
入力パスとテンプレートの設計後は出力を生成
をクリックすることで、サンプルイベントで指定したイベントを元にどのような値が出力されるか確認することができます。
Amazon EventBridgeがさらに使いやすく
Amazon EventBridgeの新機能であるサンドボックスと、新しくなったEventBridgeルールの作成ウィザードを紹介しました。
実際に使ってみて、思わず「これは便利だ...」と何度も唸ってしまいました。
特に、今までの入力トランスフォーマー(Input Transformer)は実際に動かしてみないと、どんな風に出力されるのか分からなかったので、サンドボックス機能はかなりありがたいです。
この記事が誰かの助けになれば幸いです。
以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!